package pagecode.pages.cargarDatos;

import java.util.HashMap;

import javax.faces.component.html.HtmlCommandButton;
import javax.faces.component.html.HtmlCommandLink;
import javax.faces.component.html.HtmlForm;
import javax.faces.component.html.HtmlGraphicImage;
import javax.faces.component.html.HtmlOutputText;
import javax.faces.component.html.HtmlPanelGroup;
import javax.faces.context.FacesContext;

import model.cargarDatos.CargaInicialModel;

import org.ajax4jsf.ajax.html.AjaxPoll;
import org.apache.log4j.Logger;

import pagecode.PageCodeBase;

//import com.ibm.faces.component.html.HtmlCommandExButton;
//import com.ibm.faces.component.html.HtmlGraphicImageEx;
//import com.ibm.faces.component.html.HtmlScriptCollector;
import com.stefanini.pe.bbva.mbl.in.utils.Constantes;

public class CargaInicialBean extends PageCodeBase {

	private static Logger logger = Logger.getLogger(CargaInicialBean.class);
//	protected HtmlScriptCollector scriptCollector1;
	protected HtmlForm form1;
	protected HtmlGraphicImage image2;
	protected HtmlOutputText lblUsuario1;
	protected HtmlOutputText lblUsuario;
	protected HtmlOutputText lblFechaPrincipal;
	protected HtmlCommandLink lnkCerrarSession;
	protected HtmlOutputText lblCerrarSesion;
	protected HtmlOutputText lblTitulo;
	protected HtmlCommandLink lnkRegresar;
	protected HtmlOutputText txthplRegresar;
	public String estadoReproceso;
	protected HtmlCommandLink lnkInicio;
	protected HtmlOutputText txthplInicio;
	protected HtmlOutputText serverDate;
	protected AjaxPoll poll;
	protected HtmlGraphicImage imageColor;
	protected HtmlPanelGroup grid;
//	protected HtmlScriptCollector scriptCollector2;
	protected AjaxPoll pollFecha;
	protected HtmlOutputText lblFechaPrincipal_;
	protected HtmlPanelGroup getFechaActual;
	protected String lblError_Text;
	protected CargaInicialModel cargaInicialModel;
	protected HtmlGraphicImage imagenProcesoCargaInicial;
	protected HtmlPanelGroup regionButton;
	protected HtmlCommandButton btnEjecutar;
	protected HtmlOutputText txtError;
	protected AjaxPoll pol2;
	protected HtmlPanelGroup grid2;
	protected HtmlOutputText estadoProceso;
	
	private String iniciar;
	
	public String getIniciar() 
	{
		//logger.info("Inicio onPageLoadBegin EliminarArchivo");
		onPageLoadBegin(FacesContext.getCurrentInstance());
		return iniciar;
	}
	
	public void setIniciar(String iniciar) 
	{
		this.iniciar = iniciar;
	}
	
	public void onPageLoadBegin(FacesContext facescontext) {
		logger.info("Inicio");
		
		if (!this.isPostBack()) {
			try {
				//this.getCargaInicialModel().setInicioProceso("0");
			} catch (Exception e) {
				this.getCargaInicialModel().setLblError_Text(Constantes.MSJ_ERROR_INESPERADO);
				logger.error(e.getMessage(), e);
			}
		}
		
		logger.info("Fin");
	}
	
	private boolean isPostBack() {
		logger.info("Inicio");
		
		if (this.getFacesContext().getExternalContext()
				.getRequestParameterMap().get("isPostLog") == null) {
			logger.info("Fin");
			
			return false;
		} else {
			logger.info("Fin");
			
			return true;
		}
	}
	
	public String doBtnEjecutar(){
		HashMap respuesta = null;
		String error = null;
		String mensajeError = null;
		
		try {
			logger.info("Inicio");
			
			this.getCargaInicialModel().setLblError_Text("");
			
			respuesta = this.getCargaInicialModel().getConfArchivoService().ejecutarCargaInicial();
			this.getCargaInicialModel().setInicioProceso("1");
			
			if(respuesta != null) {
				error = (String)respuesta.get("po_error");
				
				if(error != null) {
					error = error.trim();
					
					if(error.equals("1")) {						
						this.getCargaInicialModel().setLblError_Text(Constantes.MSJ_ERROR_INESPERADO);
						mensajeError = (String)respuesta.get("po_mensaje_error");
						logger.error("ERROR:Carga Inicial: "  + mensajeError);
					}
				}
			} else {
				this.getCargaInicialModel().setLblError_Text(Constantes.MSJ_ERROR_INESPERADO);
			}
			
			logger.info("Fin");
		} catch (Exception e) {
			this.getCargaInicialModel().setInicioProceso("0");
			this.getCargaInicialModel().setLblError_Text(Constantes.MSJ_ERROR_INESPERADO);
			logger.error(e.getMessage(), e);
		}
		
		return "";
	}
	

//	protected HtmlScriptCollector getScriptCollector1() {
//		logger.info("Inicio");
//		
//		if (scriptCollector1 == null) {
//			scriptCollector1 = (HtmlScriptCollector) findComponentInRoot("scriptCollector1");
//		}
//		logger.info("Fin");
//		
//		return scriptCollector1;
//	}

	protected HtmlForm getForm1() {
		logger.info("Inicio");
		
		if (form1 == null) {
			form1 = (HtmlForm) findComponentInRoot("form1");
		}
		logger.info("Fin");
		
		return form1;
	}

	protected HtmlGraphicImage getImage2() {
		logger.info("Inicio");
		
		if (image2 == null) {
			image2 = (HtmlGraphicImage) findComponentInRoot("image2");
		}
		logger.info("Fin");
		
		return image2;
	}

	protected HtmlOutputText getLblUsuario1() {
		logger.info("Inicio");
		
		if (lblUsuario1 == null) {
			lblUsuario1 = (HtmlOutputText) findComponentInRoot("lblUsuario1");
		}
		logger.info("Fin");
		
		return lblUsuario1;
	}

	protected HtmlOutputText getLblUsuario() {
		logger.info("Inicio");
		
		if (lblUsuario == null) {
			lblUsuario = (HtmlOutputText) findComponentInRoot("lblUsuario");
		}
		logger.info("Fin");
		
		return lblUsuario;
	}

	protected HtmlOutputText getLblFechaPrincipal() {
		logger.info("Inicio");
		
		if (lblFechaPrincipal == null) {
			lblFechaPrincipal = (HtmlOutputText) findComponentInRoot("lblFechaPrincipal");
		}
		logger.info("Fin");
		
		return lblFechaPrincipal;
	}

	protected HtmlCommandLink getLnkCerrarSession() {
		logger.info("Inicio");
		
		if (lnkCerrarSession == null) {
			lnkCerrarSession = (HtmlCommandLink) findComponentInRoot("lnkCerrarSession");
		}
		logger.info("Fin");
		
		return lnkCerrarSession;
	}

	protected HtmlOutputText getLblCerrarSesion() {
		logger.info("Inicio");
		
		if (lblCerrarSesion == null) {
			lblCerrarSesion = (HtmlOutputText) findComponentInRoot("lblCerrarSesion");
		}
		logger.info("Fin");
		
		return lblCerrarSesion;
	}

	protected HtmlOutputText getLblTitulo() {
		logger.info("Inicio");
		
		if (lblTitulo == null) {
			lblTitulo = (HtmlOutputText) findComponentInRoot("lblTitulo");
		}
		logger.info("Fin");
		
		return lblTitulo;
	}

	protected HtmlCommandLink getLnkRegresar() {
		logger.info("Inicio");
		
		if (lnkRegresar == null) {
			lnkRegresar = (HtmlCommandLink) findComponentInRoot("lnkRegresar");
		}
		logger.info("Fin");
		
		return lnkRegresar;
	}

	protected HtmlOutputText getTxthplRegresar() {
		logger.info("Inicio");
		
		if (txthplRegresar == null) {
			txthplRegresar = (HtmlOutputText) findComponentInRoot("txthplRegresar");
		}
		logger.info("Fin");
		
		return txthplRegresar;
	}

	protected HtmlCommandLink getLnkInicio() {
		logger.info("Inicio");
		
		if (lnkInicio == null) {
			lnkInicio = (HtmlCommandLink) findComponentInRoot("lnkInicio");
		}
		logger.info("Fin");
		
		return lnkInicio;
	}

	protected HtmlOutputText getTxthplInicio() {
		logger.info("Inicio");
		
		if (txthplInicio == null) {
			txthplInicio = (HtmlOutputText) findComponentInRoot("txthplInicio");
		}
		logger.info("Fin");
		
		return txthplInicio;
	}

	protected HtmlOutputText getServerDate() {
		logger.info("Inicio");
		
		if (serverDate == null) {
			serverDate = (HtmlOutputText) findComponentInRoot("serverDate");
		}
		logger.info("Fin");
		
		return serverDate;
	}

	protected AjaxPoll getPoll() {
		logger.info("Inicio");
		
		if (poll == null) {
			poll = (AjaxPoll) findComponentInRoot("poll");
		}
		logger.info("Fin");
		
		return poll;
	}

	protected HtmlGraphicImage getImageColor() {
		logger.info("Inicio");
		
		if (imageColor == null) {
			imageColor = (HtmlGraphicImage) findComponentInRoot("imageColor");
		}
		logger.info("Fin");
		
		return imageColor;
	}

	protected HtmlPanelGroup getGrid() {
		logger.info("Inicio");
		
		if (grid == null) {
			grid = (HtmlPanelGroup) findComponentInRoot("grid");
		}
		logger.info("Fin");
		
		return grid;
	}

//	protected HtmlScriptCollector getScriptCollector2() {
//		logger.info("Inicio");
//		
//		if (scriptCollector2 == null) {
//			scriptCollector2 = (HtmlScriptCollector) findComponentInRoot("scriptCollector2");
//		}
//		logger.info("Fin");
//		
//		return scriptCollector2;
//	}

	protected AjaxPoll getPollFecha() {
		logger.info("Inicio");
		
		if (pollFecha == null) {
			pollFecha = (AjaxPoll) findComponentInRoot("pollFecha");
		}
		logger.info("Fin");
		
		return pollFecha;
	}

	protected HtmlOutputText getLblFechaPrincipal_() {
		logger.info("Inicio");
		
		if (lblFechaPrincipal_ == null) {
			lblFechaPrincipal_ = (HtmlOutputText) findComponentInRoot("lblFechaPrincipal_");
		}
		logger.info("Fin");
		
		return lblFechaPrincipal_;
	}

	protected HtmlPanelGroup getGetFechaActual() {
		logger.info("Inicio");
		
		if (getFechaActual == null) {
			getFechaActual = (HtmlPanelGroup) findComponentInRoot("getFechaActual");
		}
		logger.info("Fin");
		
		return getFechaActual;
	}

	public String getLblError_Text() {
		return lblError_Text;
	}

	public void setLblError_Text(String lblError_Text) {
		this.lblError_Text = lblError_Text;
	}

	public CargaInicialModel getCargaInicialModel() {
		logger.info("Inicio");
		
		if (cargaInicialModel == null) {
			cargaInicialModel = (CargaInicialModel) getFacesContext().getApplication()
					.createValueBinding("#{cargaInicialModel}").getValue(
							getFacesContext());
		}
		
		logger.info("Fin");
		
		return cargaInicialModel;
	}
	

	public void setCargaInicialModel(CargaInicialModel cargaInicialModel) {
		this.cargaInicialModel = cargaInicialModel;
	}
	
	protected HtmlGraphicImage getImagenProcesoCargaInicial() {
		if (imagenProcesoCargaInicial == null) {
			imagenProcesoCargaInicial = (HtmlGraphicImage) findComponentInRoot("imagenProcesoCargaInicial");
		}
		return imagenProcesoCargaInicial;
	}

	protected HtmlPanelGroup getRegionButton() {
		if (regionButton == null) {
			regionButton = (HtmlPanelGroup) findComponentInRoot("regionButton");
		}
		return regionButton;
	}

	protected HtmlCommandButton getBtnEjecutar() {
		if (btnEjecutar == null) {
			btnEjecutar = (HtmlCommandButton) findComponentInRoot("btnEjecutar");
		}
		return btnEjecutar;
	}

	protected HtmlOutputText getTxtError() {
		if (txtError == null) {
			txtError = (HtmlOutputText) findComponentInRoot("txtError");
		}
		return txtError;
	}

	protected AjaxPoll getPol2() {
		if (pol2 == null) {
			pol2 = (AjaxPoll) findComponentInRoot("pol2");
		}
		return pol2;
	}

	protected HtmlPanelGroup getGrid2() {
		if (grid2 == null) {
			grid2 = (HtmlPanelGroup) findComponentInRoot("grid2");
		}
		return grid2;
	}
}